const users = require("../mongodb/users");
const mongodb = require("../mongodb/index");
const uuid = require('uuid')

// 自定义模块的暴露方式
exports.register = function(msg){
    // register函数被立即执行了，用于传参
    // register函数再次返回一个函数，用于真正的路由处理函数
    // 路由处理函数默认接收三个形参：1请求对象，2响应对象，3下一个
    // console.log(msg)
    return (req, res, next)=>{
        // 注册功能...
        // console.log(req.body);
        // 根据前端发送的数据读取数据库
        mongodb.get(users, {username: req.body.username}, data=>{
            // console.log(data);
            // 判断在数据库中有没有找到用户信息
            if(data.length < 1){
                // 没有找到，可以注册（向数据库中写入信息）
                mongodb.add(users, {
                    userid:'user-' + uuid.v1(),
                    username: req.body.username,
                    password: req.body.password,
                    email: req.body.email,
                    tel: req.body.tel,
                    isLogin: 0,
                    regTime: Date.now()
                }, ()=>{
                    // 写入成功，注册成功
                    res.send(JSON.stringify({
                        code:1,
                        msg:"注册成功"
                    }));
                }, ()=>{
                    res.send(JSON.stringify({
                        code:2,
                        msg:"注册失败，数据库出错",
                        err
                    }));
                })
            }else{
                res.send(JSON.stringify({
                    code:0,
                    msg:"注册失败，用户名重复"
                }));
            }
        })

    };
}